public HttpResponseMessage GetallorderdetailRecived(string id, string a)
        {
            logger.Info("start : ");
            PurchaseOrderMaster ass = new PurchaseOrderMaster();

            try
            {
                var identity = User.Identity as ClaimsIdentity;
                int compid = 0, userid = 0;
                // Access claims
                foreach (Claim claim in identity.Claims)
                {
                    if (claim.Type == "compid")
                    {
                        compid = int.Parse(claim.Value);
                    }
                    if (claim.Type == "userid")
                    {
                        userid = int.Parse(claim.Value);
                    }
                }

                logger.Info("User ID : {0} , Company Id : {1}", compid, userid);
                int idd = Int32.Parse(id);
                ass = context.AllPOrderDetails1(idd);
                logger.Info("End  : ");
                return(Request.CreateResponse(HttpStatusCode.OK, ass));;
            }
            catch (Exception ex)
            {
                logger.Error("Error in PurchaseOrderDetail " + ex.Message);
                logger.Info("End  PurchaseOrderDetail: ");
                return(Request.CreateResponse(HttpStatusCode.BadRequest, ""));
            }
        }
Пример #2
0
        public ActionResult SavePurchaseOrder(string purchaseItems, string total)
        {
            var           result = JsonConvert.DeserializeObject <List <PurchaseViewModel> >(purchaseItems);
            PurchaseOrder temp   = new PurchaseOrder();
            //StockInventry stock = new StockInventry();
            int ordernumber = PurchaseService.Instance.PurchaseOrder() + 1;

            foreach (var pItems in result)
            {
                //Adding Product data in Purchase with DateWise
                temp.ProductId       = pItems.ProductID;
                temp.Quantity        = pItems.Quantity;
                temp.Date            = DateTime.Now;
                temp.Amount          = pItems.TotalAmount;
                temp.CreatedBy       = "Admin";
                temp.PurchaseOrderNo = ordernumber;
                PurchaseService.Instance.AddPurchaseOrder(temp);
            }
            PurchaseOrderMaster obj = new PurchaseOrderMaster();

            obj.Date        = DateTime.Now;
            obj.CreatedBy   = "Admin";
            obj.OrderNo     = ordernumber;
            obj.totalAmount = int.Parse(total);
            PurchaseService.Instance.AddIntoMasterOrder(obj);
            return(Json("Success"));
        }
 public void AddIntoMasterOrder(PurchaseOrderMaster ob)
 {
     using (var context = new CBContext())
     {
         context.OrderMaster.Add(ob);
         context.SaveChanges();
     }
 }
        public PurchaseList AddItem(PurchaseList temppo, string a, int b)
        {
            AuthContext   db       = new AuthContext();
            List <TempPO> listtemp = new List <TempPO>();

            if (temppo != null)
            {
                var purId = 0;
                PurchaseOrderMaster pom = db.DPurchaseOrderMaster.Where(c => c.PurchaseOrderId == temppo.PurchaseOrderId).SingleOrDefault();
                if (pom == null)
                {
                    PurchaseOrderMaster pm = new PurchaseOrderMaster();
                    pm.SupplierId    = temppo.SupplierId.GetValueOrDefault();
                    pm.SupplierName  = temppo.Supplier;
                    pm.Warehouseid   = temppo.WareHouseId;
                    pm.WarehouseName = temppo.WareHouseName;
                    pm.Status        = "pending";
                    pm.Acitve        = true;
                    pm.CreationDate  = indianTime;
                    db.DPurchaseOrderMaster.Add(pm);
                    int id = db.SaveChanges();

                    purId = pm.PurchaseOrderId;
                }
                else
                {
                    purId = pom.PurchaseOrderId;
                }
                var item = db.itemMasters.Where(z => z.PurchaseSku == temppo.PurchaseSku).FirstOrDefault();
                PurchaseOrderDetail pd = new PurchaseOrderDetail();
                pd.PurchaseOrderId = purId;
                pd.ItemId          = item.ItemId;
                pd.ItemName        = item.itemname;
                pd.TotalQuantity   = int.Parse(temppo.qty.ToString());
                pd.CreationDate    = indianTime;
                pd.Status          = "ordered";
                pd.MOQ             = item.PurchaseMinOrderQty;
                pd.Price           = Convert.ToDouble(item.PurchasePrice);
                pd.Warehouseid     = temppo.WareHouseId;
                pd.WarehouseName   = temppo.WareHouseName;
                pd.SupplierId      = temppo.SupplierId.GetValueOrDefault();
                pd.SupplierName    = temppo.Supplier;
                //pd.TotalQuantity = Convert.ToInt16(temppo.qty);
                pd.PurchaseName     = temppo.name;
                pd.PurchaseSku      = temppo.PurchaseSku;
                pd.ConversionFactor = Convert.ToInt16(temppo.conversionfactor);
                pd.PurchaseQty      = temppo.finalqty;


                db.DPurchaseOrderDeatil.Add(pd);
                int idd = db.SaveChanges();
            }
            else
            {
                return(null);
            }
            return(temppo);
        }
        public HttpResponseMessage Add(int ItemId, int qty, int SupplierId)
        {
            AuthContext db = new AuthContext();

            try
            {
                PurchaseOrderMaster pm = new PurchaseOrderMaster();
                var item     = db.itemMasters.Where(z => z.ItemId == ItemId).FirstOrDefault();
                var supplier = db.Suppliers.Where(s => s.SupplierId == SupplierId).SingleOrDefault();

                pm.SupplierId    = supplier.SupplierId;
                pm.SupplierName  = supplier.Name;
                pm.CreationDate  = indianTime;
                pm.Warehouseid   = item.warehouse_id;
                pm.WarehouseName = item.WarehouseName;
                pm.Status        = "pending";
                pm.Acitve        = true;
                db.DPurchaseOrderMaster.Add(pm);
                int id = db.SaveChanges();

                PurchaseOrderDetail pd = new PurchaseOrderDetail();
                pd.PurchaseOrderId = pm.PurchaseOrderId;
                pd.ItemId          = item.ItemId;
                pd.ItemName        = item.itemname;
                pd.PurchaseQty     = qty;

                pd.CreationDate  = indianTime;
                pd.Status        = "ordered";
                pd.MOQ           = item.PurchaseMinOrderQty;
                pd.Price         = Convert.ToDouble(item.PurchasePrice);
                pd.Warehouseid   = item.warehouse_id;
                pd.WarehouseName = item.WarehouseName;
                pd.SupplierId    = supplier.SupplierId;
                pd.SupplierName  = supplier.Name;
                //  pd.TotalQuantity = Convert.ToInt32(qty * pd.PurchaseQty);
                pd.TotalQuantity    = Convert.ToInt32(pd.PurchaseQty);
                pd.PurchaseName     = item.PurchaseUnitName;
                pd.PurchaseSku      = item.PurchaseSku;
                pd.ConversionFactor = Convert.ToInt16(item.PurchaseMinOrderQty);

                db.DPurchaseOrderDeatil.Add(pd);
                int idd = db.SaveChanges();

                return(Request.CreateResponse(HttpStatusCode.OK, "Add Successfuly"));
            }
            catch (Exception ex)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex.Message));
            }
        }
        public override void UpdateStatus()
        {
            Transaction_Master_Property objTransactionMasterPropertyNew    = new Transaction_Master_Property();
            PurchaseOrderMaster         objPurchaseOrderMaster_Propertynew = new PurchaseOrderMaster();

            objPurchaseOrderMaster_Propertynew.ID        = base.Id;
            objPurchaseOrderMaster_Propertynew.Status    = base.Status;
            objPurchaseOrderMaster_Propertynew.TableName = objPurchaseOrderMaster.TableName;
            // objPurchaseRequisitionMaster_Propertynew.Operated_By = objTransactionMasterProperty.Operated_By;

            //if (objTransactionMasterPropertyNew.Status != null)
            //{
            objPurchaseOrder_DAL = new PurchaseOrder_DAL(objPurchaseOrderMaster_Propertynew);
            objPurchaseOrder_DAL.UpdateStatus();
        }
 public bool post(int id, List <PurchaseOrderDetailRecived> po)
 {
     try
     {
         PurchaseOrderMaster pm = db.DPurchaseOrderMaster.Where(x => x.PurchaseOrderId == id).FirstOrDefault();
         pm.Status = "Received";
         db.DPurchaseOrderMaster.Attach(pm);
         db.Entry(pm).State = EntityState.Modified;
         db.SaveChanges();
         List <PurchaseOrderDetailRecived> podrList = db.PurchaseOrderRecivedDetails.Where(x => x.PurchaseOrderId == pm.PurchaseOrderId).ToList();
         if (podrList.Count != 0)
         {
             foreach (var a in podrList)
             {
                 a.CreationDate = indianTime;
                 a.Status       = "Received";
                 db.PurchaseOrderRecivedDetails.Attach(a);
                 db.Entry(a).State = EntityState.Modified;
                 db.SaveChanges();
             }
         }
         List <PurchaseOrderDetail> pod = db.DPurchaseOrderDeatil.Where(q => q.PurchaseOrderId == pm.PurchaseOrderId).ToList();
         if (pod.Count != 0)
         {
             foreach (var a in pod)
             {
                 a.Status = "Close";
                 db.DPurchaseOrderDeatil.Attach(a);
                 db.Entry(a).State = EntityState.Modified;
                 db.SaveChanges();
             }
         }
         return(true);
     }
     catch (Exception exe)
     {
         Console.Write(exe.Message);
         return(false);
     }
 }
 public PurchaseOrder_DAL(PurchaseOrderMaster objPurchaseOrderMasternew)
 {
     objPurchaseOrderMaster = objPurchaseOrderMasternew;
 }
        public HttpResponseMessage add(PurchaseOrderMaster pom)
        {
            var po    = pom.purDetails;
            var count = 0;

            foreach (var a in po)
            {
                if (count == 0)
                {
                    if (a.QtyRecived5 != 0)
                    {
                        count = 5;
                    }
                    else
                    {
                        if (a.QtyRecived4 != 0)
                        {
                            count = 4;
                        }
                        else
                        {
                            if (a.QtyRecived3 != 0)
                            {
                                count = 3;
                            }
                            else
                            {
                                if (a.QtyRecived2 != 0)
                                {
                                    count = 2;
                                }
                                else
                                {
                                    if (a.QtyRecived1 != 0)
                                    {
                                        count = 1;
                                    }
                                }
                            }
                        }
                    }
                }
                else if (count == 1)
                {
                    if (a.QtyRecived5 != 0)
                    {
                        count = 5;
                    }
                    else
                    {
                        if (a.QtyRecived4 != 0)
                        {
                            count = 4;
                        }
                        else
                        {
                            if (a.QtyRecived3 != 0)
                            {
                                count = 3;
                            }
                            else
                            {
                                if (a.QtyRecived2 != 0)
                                {
                                    count = 2;
                                }
                            }
                        }
                    }
                }
                else if (count == 2)
                {
                    if (a.QtyRecived5 != 0)
                    {
                        count = 5;
                    }
                    else
                    {
                        if (a.QtyRecived4 != 0)
                        {
                            count = 4;
                        }
                        else
                        {
                            if (a.QtyRecived3 != 0)
                            {
                                count = 3;
                            }
                        }
                    }
                }
                else if (count == 3)
                {
                    if (a.QtyRecived5 != 0)
                    {
                        count = 5;
                    }
                    else
                    {
                        if (a.QtyRecived4 != 0)
                        {
                            count = 4;
                        }
                    }
                }
                else if (count == 4)
                {
                    if (a.QtyRecived5 != 0)
                    {
                        count = 5;
                    }
                }
            }
            int pomID;
            PurchaseOrderMasterRecived m = new PurchaseOrderMasterRecived();

            try
            {
                var flag = 0;
                foreach (PurchaseOrderDetailRecived pc in po)
                {
                    try {
                        if (pc.isDeleted != true)
                        {
                            var st = context.AddPurchaseOrderDetailsRecived(pc, count);
                        }
                    }
                    catch (Exception ee) {
                        logger.Error(ee.Message);
                        return(null);
                    }
                    if ((pc.QtyRecived1 + pc.QtyRecived2 + pc.QtyRecived3 + pc.QtyRecived4 + pc.QtyRecived5) < pc.TotalQuantity)
                    {
                        flag = 1;
                    }
                }
                //for status on Purchase ordermaster...Received
                pomID = po[0].PurchaseOrderId;
                PurchaseOrderMaster pm = db.DPurchaseOrderMaster.Where(x => x.PurchaseOrderId == pomID).FirstOrDefault();
                List <PurchaseOrderDetailRecived> podrList = db.PurchaseOrderRecivedDetails.Where(x => x.PurchaseOrderId == pm.PurchaseOrderId).ToList();
                var amount = 0.00;
                foreach (var pord in podrList)
                {
                    if (count == 1)
                    {
                        if (pord.dis1 != 0 && pord.dis1 != null)
                        {
                            amount += ((pord.QtyRecived1 * pord.Price1 * 100) / (100 + pord.dis1)).GetValueOrDefault();
                        }
                        else
                        {
                            amount += (pord.QtyRecived1 * pord.Price1).GetValueOrDefault();
                        }
                    }
                    else if (count == 2)
                    {
                        if (pord.dis2 != 0 && pord.dis2 != null)
                        {
                            amount += ((pord.QtyRecived2 * pord.Price2 * 100) / (100 + pord.dis2)).GetValueOrDefault();
                        }
                        else
                        {
                            amount += (pord.QtyRecived2 * pord.Price2).GetValueOrDefault();
                        }
                    }
                    else if (count == 3)
                    {
                        if (pord.dis3 != 0 && pord.dis3 != null)
                        {
                            amount += ((pord.QtyRecived3 * pord.Price3 * 100) / (100 + pord.dis3)).GetValueOrDefault();
                        }
                        else
                        {
                            amount += (pord.QtyRecived3 * pord.Price3).GetValueOrDefault();
                        }
                    }
                    else if (count == 4)
                    {
                        if (pord.dis4 != 0 && pord.dis4 != null)
                        {
                            amount += ((pord.QtyRecived4 * pord.Price4 * 100) / (100 + pord.dis4)).GetValueOrDefault();
                        }
                        else
                        {
                            amount += (pord.QtyRecived4 * pord.Price4).GetValueOrDefault();
                        }
                    }
                    else if (count == 5)
                    {
                        if (pord.dis5 != 0 && pord.dis5 != null)
                        {
                            amount += ((pord.QtyRecived5 * pord.Price5 * 100) / (100 + pord.dis5)).GetValueOrDefault();
                        }
                        else
                        {
                            amount += (pord.QtyRecived5 * pord.Price5).GetValueOrDefault();
                        }
                    }
                }
                if (count == 1)
                {
                    if (pom.discount1 != null)
                    {
                        pm.discount1   = pom.discount1;
                        pm.Gr1_Amount  = ((amount * 100) / (100 + pom.discount1)).GetValueOrDefault();
                        pm.TotalAmount = ((amount * 100) / (100 + pom.discount1)).GetValueOrDefault();
                    }
                    else
                    {
                        pm.TotalAmount += amount;
                        pm.Gr1_Amount   = amount;
                    }
                    pm.Gr1_Date = indianTime;
                }
                else if (count == 2)
                {
                    if (pom.discount2 != null)
                    {
                        pm.discount2    = pom.discount2;
                        pm.Gr2_Amount   = ((amount * 100) / (100 + pom.discount2)).GetValueOrDefault();
                        pm.TotalAmount += ((amount * 100) / (100 + pom.discount2)).GetValueOrDefault();
                    }
                    else
                    {
                        pm.TotalAmount += amount;
                        pm.Gr2_Amount   = amount;
                    }
                    pm.Gr2_Date = indianTime;
                }
                else if (count == 3)
                {
                    if (pom.discount3 != null)
                    {
                        pm.discount3    = pom.discount3;
                        pm.Gr3_Amount   = ((amount * 100) / (100 + pom.discount3)).GetValueOrDefault();
                        pm.TotalAmount += ((amount * 100) / (100 + pom.discount3)).GetValueOrDefault();
                    }
                    else
                    {
                        pm.TotalAmount += amount;
                        pm.Gr3_Amount   = amount;
                    }
                    pm.Gr3_Date = indianTime;
                }
                else if (count == 4)
                {
                    if (pom.discount4 != null)
                    {
                        pm.discount4    = pom.discount4;
                        pm.Gr4_Amount   = ((amount * 100) / (100 + pom.discount4)).GetValueOrDefault();
                        pm.TotalAmount += ((amount * 100) / (100 + pom.discount4)).GetValueOrDefault();
                    }
                    else
                    {
                        pm.TotalAmount += amount;
                        pm.Gr4_Amount   = amount;
                    }
                    pm.Gr4_Date = indianTime;
                }
                else if (count == 5)
                {
                    if (pom.discount5 != null)
                    {
                        pm.discount5    = pom.discount5;
                        pm.Gr5_Amount   = ((amount * 100) / (100 + pom.discount5)).GetValueOrDefault();
                        pm.TotalAmount += ((amount * 100) / (100 + pom.discount5)).GetValueOrDefault();
                    }
                    else
                    {
                        pm.TotalAmount += amount;
                        pm.Gr5_Amount   = amount;
                    }
                    pm.Gr5_Date = indianTime;
                }
                if (flag == 1 && count != 5)
                {
                    pm.Status = "Partial Received";
                    db.DPurchaseOrderMaster.Attach(pm);
                    db.Entry(pm).State = EntityState.Modified;
                    db.SaveChanges();

                    List <PurchaseOrderDetail> pod = db.DPurchaseOrderDeatil.Where(q => q.PurchaseOrderId == pm.PurchaseOrderId).ToList();
                    if (pod.Count != 0)
                    {
                        foreach (var a in pod)
                        {
                            a.Status = "open";
                            db.DPurchaseOrderDeatil.Attach(a);
                            db.Entry(a).State = EntityState.Modified;
                            db.SaveChanges();
                        }
                    }
                }
                else
                {
                    pm.Status = "Received";
                    db.DPurchaseOrderMaster.Attach(pm);
                    db.Entry(pm).State = EntityState.Modified;
                    db.SaveChanges();

                    List <PurchaseOrderDetail> pod = db.DPurchaseOrderDeatil.Where(q => q.PurchaseOrderId == pm.PurchaseOrderId).ToList();
                    if (pod.Count != 0)
                    {
                        foreach (var a in pod)
                        {
                            a.Status = "Close";
                            db.DPurchaseOrderDeatil.Attach(a);
                            db.Entry(a).State = EntityState.Modified;
                            db.SaveChanges();
                        }
                    }
                }

                return(Request.CreateResponse(HttpStatusCode.OK, pom));
            }
            catch (Exception exe)
            {
                Console.Write(exe.Message);
                return(Request.CreateResponse(HttpStatusCode.BadRequest, "got Excepion"));
            }
        }