コード例 #1
0
        public JsonResult RetailSale(ViewCreateRetailSaleModel model)
        {
            SuccessErrorModel successErrorModel = new SuccessErrorModel();

            try
            {
                var retail   = Mapper.Map <ViewCreateRetailSaleModel, RetailSale>(model);
                int branchId = Convert.ToInt32(Session["BranchId"]);
                var user     = (ViewUser)Session["user"];
                retail.UserId   = user.UserId;
                retail.BranchId = branchId;
                var result = _iOrderManager.SaveSoldProductBarCode(retail);
                if (result)
                {
                    ModelState.Clear();
                    successErrorModel.Message = "Save Successfull!";
                }
                else
                {
                    successErrorModel.Error = "Invalid";
                }
                return(Json(successErrorModel));
            }
            catch (Exception exception)
            {
                successErrorModel.Message = "Invalid! ";
                return(Json(successErrorModel));
            }
        }
コード例 #2
0
        public ActionResult RetailSale(ViewCreateRetailSaleModel model)
        {
            SuccessErrorModel successErrorModel = new SuccessErrorModel();

            try
            {
                int branchId = Convert.ToInt32(Session["BranchId"]);
                var user     = (ViewUser)Session["user"];
                var filePath = SoldProductXmlFilePath(branchId, user.UserId);
                var products = _iProductManager.GetTempSoldBarcodesFromXmlFile(filePath);
                var retail   = Mapper.Map <ViewCreateRetailSaleModel, RetailSale>(model);
                retail.UserId   = user.UserId;
                retail.BranchId = branchId;
                retail.Products = products.ToList();

                var result = _iOrderManager.SaveSoldProductBarCode(retail);
                if (result)
                {
                    var xmlData = XDocument.Load(filePath);
                    xmlData.Root?.Elements().Remove();
                    xmlData.Save(filePath);
                }
                else
                {
                    successErrorModel.Error = "Invalid";
                }
                return(View());
            }
            catch (Exception exception)
            {
                Log.WriteErrorLog(exception);
                return(PartialView("_ErrorPartial", exception));
            }
        }
コード例 #3
0
        private IEnumerable <ViewCreateRetailSaleModel> GetTempSoldBarcodesFromXmlFile(string filePath)
        {
            List <ViewCreateRetailSaleModel> Codes = new List <ViewCreateRetailSaleModel>();
            var xmlData = XDocument.Load(filePath).Element("BarCodes")?.Elements();

            foreach (XElement element in xmlData)
            {
                ViewCreateRetailSaleModel code = new ViewCreateRetailSaleModel();

                var elementValue = element.Elements();
                var xElements    = elementValue as XElement[] ?? elementValue.ToArray();
                code.BarCode = xElements[0].Value;

                Codes.Add(code);
            }
            return(Codes);
        }
コード例 #4
0
        private void AddBarCodeToTempSoldProductXmlFile(ViewCreateRetailSaleModel model)
        {
            var    user     = (ViewUser)Session["user"];
            int    branchId = Convert.ToInt32(Session["BranchId"]);
            string fileName = "Temp_Sold_Product_By_" + branchId + user.UserId + ".xml";
            var    filePath = Server.MapPath("~/Areas/Sales/Files/" + fileName);

            var xmlDocument = XDocument.Load(filePath);

            xmlDocument.Root?.Elements().Where(n => n.Attribute("Id")?.Value == model.BarCode).Remove();
            xmlDocument.Save(filePath);

            xmlDocument.Element("BarCodes")?.Add(
                new XElement("BarCode", new XAttribute("Id", model.BarCode),
                             new XElement("Code", model.BarCode)

                             ));
            xmlDocument.Save(filePath);
        }