All pastes #250068 Raw Edit

Unnamed

public text v1 · immutable
#250068 ·published 2006-11-16 16:17 UTC
rendered paste body
using System;
using System.Drawing;
using System.Web.Services;
using System.Collections;
using System.IO;
using System.Configuration;
using System.Xml.Serialization;
using Custom_CRM_DB;

namespace Custom_CRM
{
    [WebService(Namespace = "http://www.interlink.ck.ua/Custom_CRM/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    public class Service : System.Web.Services.WebService
    {
        public Service()
        {
            //Uncomment the following line if using designed components 
            InitializeComponent();
        }
        private void InitializeComponent()
        {
            if (!(ServerDatabase.Inited))
            {
                ServerDatabase.init(ConfigurationSettings.AppSettings["ConnDBStringReal"]);
            }
        }
        [WebMethod]
        public void InitTest()
        {
            ServerDatabase.init(ConfigurationSettings.AppSettings["ConnDBString"]);
            ServerDatabase.ClearAllTables();
        }
        [WebMethod]
        public void ReInit()
        {
            ServerDatabase.init(ConfigurationSettings.AppSettings["ConnDBStringReal"]);
        }
        [WebMethod]
        [XmlInclude(typeof(Employee))]
        public ArrayList GetEmployees()
        {
            return ServerDatabase.SelectAllEmployees();
        }
        [WebMethod]
        [XmlInclude(typeof(Employee))]
        public int SaveEmployee(Employee emp)
        {
            return ServerDatabase.UpdateEmployee(emp);
        }
        [WebMethod]
        [XmlInclude(typeof(Employee))]
        public int DeleteEmployee(String login)
        {
            return ServerDatabase.DeleteEmployee(login);
        }
        [WebMethod]
        [XmlInclude(typeof(Organization))]
        public ArrayList GetRelations()
        {
            return ServerDatabase.SelectAllRelations();
        }
        [WebMethod]
        [XmlInclude(typeof(Contact))]
        public ArrayList GetContacts(String orgName)
        {
            return ServerDatabase.GetContacts(orgName);
        }
        [WebMethod]
        [XmlInclude(typeof(Organization))]
        public bool OrganizationsAreEqual(Organization org, Organization other)
        {
            return org.EqualsTo(other);
        }
        [WebMethod]
        [XmlInclude(typeof(Product))]
        public bool ProductsAreEqual(Product prod, Product other)
        {
            return prod.EqualsTo(other);
        }
        [WebMethod]
        [XmlInclude(typeof(Contact))]
        public int SaveContact(String orgName, Contact cont)
        {
            return ServerDatabase.UpdateContact(orgName, cont);
        }
        [WebMethod]
        [XmlInclude(typeof(Organization))]
        public int SaveRelation(Organization org)
        {
            return ServerDatabase.UpdateRelation(org);
        }
        [WebMethod]
        public int ChangeRelationName(String oldName, String newName)
        {
            return ServerDatabase.UpdateOrganizationName(oldName, newName);
        }
        [WebMethod]
        public int DeleteContact(String orgName, String firstName, String lastName)
        {
            return ServerDatabase.DeleteContact(orgName, firstName, lastName);
        }
        [WebMethod]
        public int DeleteRelation(String orgName)
        {
            return ServerDatabase.DeleteRelation(orgName);
        }
        [WebMethod]
        [XmlInclude(typeof(Product))]
        public long SaveProduct(Product prod)
        {
            return ServerDatabase.UpdateProduct(prod);
        }
        [WebMethod]
        public int DeleteProduct(String article, String supName)
        {
            return ServerDatabase.DeleteProduct(article, supName);
        }
        [WebMethod]
        [XmlInclude(typeof(Product))]
        public ArrayList GetProducts()
        {
            return ServerDatabase.GetProductsByParameters("", 0, 0, "", "", 0, 0, "", 0);
        }
        [WebMethod]
        [XmlInclude(typeof(Product))]
        public ArrayList GetProductsBySupplier(String supName)
        {
            return ServerDatabase.GetProductsByParameters(supName, 0, 0, "", "", 0, 0, "", 0);
        }
        [WebMethod]
        [XmlInclude(typeof(Product))]
        public ArrayList GetProductsByParameters(String supName, byte material,
            int content, String series, String cap, int height, int width, String shape,
            int depth)
        {
            return ServerDatabase.GetProductsByParameters(supName, material, 
                content, series, cap, height, width, shape, depth);
        }
        [WebMethod]
        [XmlInclude(typeof(Product))]
        public ArrayList GetProductsByDebtor(String specName)
        {
            return ServerDatabase.GetProductsBySpecifiedDebtor(specName);
        }
        [WebMethod]
        [XmlInclude(typeof(Offer))]
        public long SaveOffer(Offer off)
        {
            return ServerDatabase.UpdateOffer(off);
        }
        [WebMethod]
        public int DeleteOffer(long idNum)
        {
            return ServerDatabase.DeleteOffer(idNum);
        }
        [WebMethod]
        [XmlInclude(typeof(Offer))]
        public ArrayList GetOffers()
        {
            return ServerDatabase.GetOffersByCharger(0, 0, false);
        }
        [WebMethod]
        [XmlInclude(typeof(Offer))]
        public ArrayList GetOffersByCharger(int empId, int contId, bool isSupplier)
        {
            return ServerDatabase.GetOffersByCharger(empId, contId, isSupplier);
        }
        [WebMethod]
        [XmlInclude(typeof(Offer))]
        public ArrayList GetOffersByProduct(long prodId)
        {
            return ServerDatabase.GetOffersByProduct(prodId);
        }
        [WebMethod]
        [XmlInclude(typeof(Contact))]
        [XmlInclude(typeof(Offer))]
        [XmlInclude(typeof(Organization))]
        public ArrayList GetOffersByRelation(String orgName, bool isSupplier)
        {
            ArrayList offersList = new ArrayList();
            ArrayList contList = ServerDatabase.GetContacts(orgName);
            foreach (object obj in contList)
            {
                offersList.AddRange(ServerDatabase.GetOffersByCharger(0, 
                    ((Contact)obj).DatabaseID, isSupplier).ToArray());
            }
            return offersList;
        }
        [WebMethod]
        [XmlInclude(typeof(Order))]
        public long SaveOrder(Order ord)
        {
            return ServerDatabase.UpdateOrder(ord);
        }
        [WebMethod]
        public int DeleteOrder(long idNum)
        {
            return ServerDatabase.DeleteOrder(idNum);
        }
        [WebMethod]
        [XmlInclude(typeof(Order))]
        public ArrayList GetOrders()
        {
            return ServerDatabase.GetOrdersByCharger(0, 0, 0);
        }
        [WebMethod]
        [XmlInclude(typeof(Order))]
        public ArrayList GetOrdersByCharger(int empId, int contId, int category)
        {
            return ServerDatabase.GetOrdersByCharger(empId, contId, category);
        }
        [WebMethod]
        [XmlInclude(typeof(Order))]
        public ArrayList GetOrdersByProduct(long prodId)
        {
            return ServerDatabase.GetOrdersByProduct(prodId);
        }
        [WebMethod]
        [XmlInclude(typeof(Contact))]
        [XmlInclude(typeof(Order))]
        [XmlInclude(typeof(Organization))]
        public ArrayList GetOrdersByRelation(String orgName, int category)
        {
            ArrayList ordersList = new ArrayList();
            ArrayList contList = ServerDatabase.GetContacts(orgName);
            foreach (object obj in contList)
            {
                ordersList.AddRange(ServerDatabase.GetOrdersByCharger(0,
                    ((Contact)obj).DatabaseID, category).ToArray());
            }
            return ordersList;
        }
        [WebMethod]
        public int ImportIntoFile(string fileName, string line)
        {
            int result = 0;
            Directory.SetCurrentDirectory("D:\\Temp");
            String path = Directory.GetCurrentDirectory() + "\\" +
                          ConfigurationManager.AppSettings["ImagesDirectory"];
            if (!Directory.Exists(path))
            {
                Directory.CreateDirectory(path);
            }
            path += "\\" + fileName;
            try
            {
                using (StreamWriter sw = new StreamWriter(path, true))
                {
                    sw.WriteLine(line);
                }
                result = 1;
            }
            catch (Exception)
            {
            }
            return result;
        }
        [WebMethod]
        public ArrayList GetZones()
        {
            return ServerDatabase.SelectTransportZones();
        }
        [WebMethod]
        public ArrayList GetContents()
        {
            return ServerDatabase.SelectContents();
        }
        [WebMethod]
        public ArrayList GetBrimFills()
        {
            return ServerDatabase.SelectBrimFills();
        }
        [WebMethod]
        public ArrayList GetHeights()
        {
            return ServerDatabase.SelectHeights();
        }
        [WebMethod]
        public ArrayList GetWidths()
        {
            return ServerDatabase.SelectWidths();
        }
        [WebMethod]
        public ArrayList GetWeights()
        {
            return ServerDatabase.SelectWeights();
        }
        [WebMethod]
        public ArrayList GetShapes()
        {
            return ServerDatabase.SelectShapes();
        }
        [WebMethod]
        public ArrayList GetDepths()
        {
            return ServerDatabase.SelectDepths();
        }
        [WebMethod]
        public ArrayList GetProductSeries()
        {
            return ServerDatabase.SelectProductSeries();
        }
        [WebMethod]
        public ArrayList GetCaps()
        {
            return ServerDatabase.SelectCaps();
        }
        [WebMethod]
        public ArrayList GetStockPlaces()
        {
            return ServerDatabase.SelectStockPlaces();
        }
        [WebMethod]
        public ArrayList GetMaterials()
        {
            return ServerDatabase.GetMaterialData();
        }
        [WebMethod]
        public void UploadItemPicture(string fileName, byte[] content)
        {
            Image image = Image.FromStream(new MemoryStream(content));
            string targetFileName = Server.MapPath(ConfigurationManager.AppSettings["ImagesPath"] + fileName);
            Utils.ResizeWithRatioAndSave(image, targetFileName, 124, false);
        }
        [WebMethod]
        public void DeletePictureFile(string fileName)
        {
            string targetFileName = Server.MapPath(ConfigurationManager.AppSettings["ImagesPath"] + fileName);
            if (File.Exists(targetFileName))
                File.Delete(targetFileName);
        }
        [WebMethod]
        public byte[] LoadItemPicture(string fileName)
        {
            byte[] result = null;
            string targetFileName = Server.MapPath(ConfigurationManager.AppSettings["ImagesPath"] + fileName);
            if (File.Exists(targetFileName))
            {
                result = File.ReadAllBytes(targetFileName);
            }
            return result;
        }
    }
}