Beispiel #1
0
        public JsonResult CreateJson([Bind(Include = "CuttingSheetId,ProjectId,UserCreate,CreateDate,code")] CuttingSheet cuttingSheet)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    var proj = db.Projects.Find(cuttingSheet.ProjectId);
                    proj.ProjectStatusId    = 4;
                    cuttingSheet.StampDate  = DateTime.Now;
                    cuttingSheet.UserCreate = User.Identity.GetUserName();
                    db.CuttingSheets.Add(cuttingSheet);
                    db.SaveChanges();
                    return(Json(cuttingSheet.CuttingSheetId));
                }
                catch (Exception ex)
                {
                    String errors11 = ex.Message;

                    if (ex.InnerException != null)
                    {
                        errors11 = errors11 + ex.InnerException.Message + " \r\n ";;
                    }
                    return(Json(errors11));
                }
            }
            return(Json("errors11"));
        }
Beispiel #2
0
        public ActionResult Create([Bind(Include = "CuttingSheetId,ProjectId,UserCreate,CreateDate,code")] CuttingSheet cuttingSheet,
                                   String[] FileName)
        {
            int savefiles = 0;

            if (ModelState.IsValid)
            {
                if (FileName != null && FileName.Count() > 0)
                {
                    var proj = db.Projects.Find(cuttingSheet.ProjectId);
                    proj.ProjectStatusId = 4;
                    db.CuttingSheets.Add(cuttingSheet);
                    db.SaveChanges();
                    return(RedirectToAction("Index"));
                }
                else
                {
                    ViewBag.Error = "Please upload Production Sheet";
                }
            }

            ViewBag.productlist = new SelectList(db.Materials, "MaterialId", "Name");

            ViewBag.ProjectId = new SelectList(db.Projects, "ProjectId", "Name", cuttingSheet.ProjectId);
            ViewBag.date      = cuttingSheet.CreateDate;
            return(View(cuttingSheet));
        }
Beispiel #3
0
        public JsonResult EditJson([Bind(Include = "CuttingSheetId,ProjectId,UserCreate,CreateDate,code")] CuttingSheet cuttingSheet,
                                   String[] FileName)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    cuttingSheet.StampDate = DateTime.Now;

                    db.Entry(cuttingSheet).State = EntityState.Modified;
                    db.SaveChanges();

                    RemoveFiles(cuttingSheet.CuttingSheetId);
                    //save uploaded files record
                    if (FileName.Count() > 0)
                    {
                        SaveAttachedFiles(FileName, cuttingSheet.CuttingSheetId);
                    }

                    return(Json(cuttingSheet.CuttingSheetId));
                }
                catch (Exception ex)
                {
                    String errors11 = ex.Message;

                    if (ex.InnerException != null)
                    {
                        errors11 = errors11 + ex.InnerException.Message + " \r\n ";;
                    }
                    return(Json(errors11));
                }
            }
            return(Json("errors11"));
        }
Beispiel #4
0
        public ActionResult DeleteConfirmed(int id)
        {
            CuttingSheet cuttingSheet = db.CuttingSheets.Find(id);

            db.CuttingSheets.Remove(cuttingSheet);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Beispiel #5
0
 public ActionResult Edit([Bind(Include = "CuttingSheetId,ProjectId,UserCreate,CreateDate")] CuttingSheet cuttingSheet)
 {
     if (ModelState.IsValid)
     {
         db.Entry(cuttingSheet).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.ProjectId = new SelectList(db.Projects, "ProjectId", "Code", cuttingSheet.ProjectId);
     return(View(cuttingSheet));
 }
Beispiel #6
0
        public JsonResult ApproveJson([Bind(Include = "RequestApprovalId,Name,RequestDate,ApprovalTypeId,QuotationId,CuttingSheetId,details,UserName" +
                                                      ",SalesManager,BDM,ProductionManager" +
                                                      ",CoordinatorFull,CoordinatorPartial,CEO,SalesManagerRemarks ,ProductionManagerRemarks,BDMRemarks ,CoordinatorFullRemarks ,CoordinatorPartialRemarks ,CEORemarks ,IsRejected,CoordinatorFullDate" +
                                                      ",SalesManagerDate,ProductionManagerDate,CoordinatorPartialDate,CEODate,BDMDate")] RequestApproval requestApproval)
        {
            requestApproval.IsRejected = false;
            //if (ModelState.IsValid)
            {
                try
                {
                    db.Entry(requestApproval).State = EntityState.Modified;
                    db.SaveChanges();
                }catch (Exception er)
                {
                    string errors11 = er.Message;
                    return(Json(errors11));
                }

                // send emails
                List <string> emails         = new List <string>();
                List <string> CC             = new List <string>();
                string        SubjectForCase = "";
                string        emailBodys     = "";
                if (requestApproval.QuotationId != null)
                {
                    SubjectForCase = "Request for Quotation Approval is Responded";
                    Quotation q = db.Quotations.Find(requestApproval.QuotationId);
                    emailBodys = "Dear Team, \r\n  Your request for approval  is responded with the remark " + requestApproval.CoordinatorFullRemarks + "  Quotation : " + q.Code + " is created \r\n ";
                    //emailBodys = emailBodys + " company name: " + requestApproval.Quotation.CustomerName + ". for your request details " + requestApproval.details;
                }
                else if (requestApproval.CuttingSheetId != null)
                {
                    SubjectForCase = "Request for CuttingSheet Approval is Responded";

                    CuttingSheet c = db.CuttingSheets.Find(requestApproval.CuttingSheetId);
                    emailBodys = "Dear Team, \r\n Your request for approval  is responded with the remark " + requestApproval.ProductionManagerRemarks + "  CuttingSheet : " + c.code + " \r\n ";
                    // emailBodys = emailBodys + " company name:" + requestApproval.CuttingSheet.Customer.CompanyName + ". for your request details " + requestApproval.details;
                }

                string username    = requestApproval.UserName;
                string emailCreate = db.Users.Where(r => r.UserName == username).FirstOrDefault().Email;
                //send to sender
                if (requestApproval.ProductionManager == true)
                {
                    emails.Add(emailCreate);
                }


                int i = sendEmail(SubjectForCase, emailBodys, emails, CC);

                return(Json(requestApproval.RequestApprovalId));
            }
        }
Beispiel #7
0
        public ActionResult PrintNewTable(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            CuttingSheet lpo = db.CuttingSheets.Find(id);

            //ViewBag.LpoTerms = db.LpoTerms.ToList();

            return(View(lpo));
        }
Beispiel #8
0
        // GET: CuttingSheets/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            CuttingSheet cuttingSheet = db.CuttingSheets.Find(id);

            if (cuttingSheet == null)
            {
                return(HttpNotFound());
            }
            return(View(cuttingSheet));
        }
Beispiel #9
0
        public ActionResult Edit([Bind(Include = "CuttingSheetId,ProjectId,UserCreate,CreateDate")] CuttingSheet cuttingSheet)
        {
            if (ModelState.IsValid)
            {
                db.Entry(cuttingSheet).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            var ProjectList = db.Projects.Where(p => p.AccountApproval == true)
                              .Select(p => new { ProjectId = p.ProjectId, Code = p.Code + " - " + p.Name });

            ViewBag.ProjectId = new SelectList(ProjectList, "ProjectId", "Code", cuttingSheet.ProjectId);
            return(View(cuttingSheet));
        }
Beispiel #10
0
        private void RemoveFiles(int cuttingSheetId)
        {
            CuttingSheet cuttingSheet = db.CuttingSheets.Include(c => c.CuttingSheetFiles).Where(c => c.CuttingSheetId == cuttingSheetId).FirstOrDefault();

            if (cuttingSheet.CuttingSheetFiles.Count() > 0)
            {
                foreach (var file in cuttingSheet.CuttingSheetFiles.ToList())
                {
                    CuttingSheetFile cuttingSheetFiles = db.CuttingSheetFiles.Find(file.CuttingSheetFileId);
                    db.CuttingSheetFiles.Remove(cuttingSheetFiles);
                }
                db.SaveChanges();
            }
        }
Beispiel #11
0
        // GET: CuttingSheets/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            CuttingSheet cuttingSheet = db.CuttingSheets.Find(id);

            if (cuttingSheet == null)
            {
                return(HttpNotFound());
            }
            ViewBag.ProjectId = new SelectList(db.Projects, "ProjectId", "Name", cuttingSheet.ProjectId);
            return(View(cuttingSheet));
        }
Beispiel #12
0
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            CuttingSheet cuttingSheet = db.CuttingSheets.Find(id);

            ViewBag.AttachedFiles = cuttingSheet.CuttingSheetFiles.OrderBy(c => c.Name);;
            if (cuttingSheet == null)
            {
                return(HttpNotFound());
            }
            return(View(cuttingSheet));
        }
Beispiel #13
0
        public ActionResult Create([Bind(Include = "CuttingSheetId,ProjectId,UserCreate,CreateDate,code")] CuttingSheet cuttingSheet,
                                   String[] FileName)
        {
            if (ModelState.IsValid)
            {
                var proj = db.Projects.Find(cuttingSheet.ProjectId);
                proj.ProjectStatusId = 4;
                db.CuttingSheets.Add(cuttingSheet);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.productlist = new SelectList(db.Materials, "MaterialId", "Name");

            ViewBag.ProjectId = new SelectList(db.Projects, "ProjectId", "Name", cuttingSheet.ProjectId);
            return(View(cuttingSheet));
        }
Beispiel #14
0
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            CuttingSheet cuttingSheet = db.CuttingSheets.Find(id);

            if (cuttingSheet == null)
            {
                return(HttpNotFound());
            }
            var ProjectList = db.Projects.Where(p => p.AccountApproval == true)
                              .Select(p => new { ProjectId = p.ProjectId, Code = p.Code + " - " + p.Name });

            ViewBag.ProjectId = new SelectList(ProjectList, "ProjectId", "Code", cuttingSheet.ProjectId);

            ViewBag.date = DateTime.Now;
            ViewBag.ext  = FolderPath.allowedExtensions;
            return(View(cuttingSheet));
        }
Beispiel #15
0
        public ActionResult DeleteConfirmed(int id)
        {
            CuttingSheet cuttingSheet = db.CuttingSheets.Find(id);

            foreach (var file in cuttingSheet.CuttingSheetFiles.ToList())
            {
                db.CuttingSheetFiles.Remove(file);
            }
            foreach (CuttingSheetDetail detail in cuttingSheet.CuttingSheetDetails.ToList())
            {
                Material material = materialRepository.GetById(detail.MaterialId);
                materialRepository.ReleaseReserveQty(material, detail.qty);
            }

            db.CuttingSheets.Remove(cuttingSheet);



            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Beispiel #16
0
        public JsonResult EditJson([Bind(Include = "CuttingSheetId,ProjectId,UserCreate,CreateDate,code")] CuttingSheet cuttingSheet)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    //cuttingSheet.UserCreate = User.Identity.GetUserName();
                    db.Entry(cuttingSheet).State = EntityState.Modified;
                    db.SaveChanges();
                    return(Json(cuttingSheet.CuttingSheetId));
                }
                catch (Exception ex)
                {
                    String errors11 = ex.Message;

                    if (ex.InnerException != null)
                    {
                        errors11 = errors11 + ex.InnerException.Message + " \r\n ";;
                    }
                    return(Json(errors11));
                }
            }
            return(Json("errors11"));
        }
Beispiel #17
0
        public ActionResult Approve([Bind(Include = "RequestApprovalId,Name,RequestDate,ApprovalTypeId,QuotationId,CuttingSheetId,details,UserName" +
                                                    ",SalesManager,BDM" +
                                                    ",CoordinatorFull,CoordinatorPartial,CEO,SalesManagerRemarks ,BDMRemarks ,CoordinatorFullRemarks ,CoordinatorPartialRemarks ,CEORemarks ,IsRejected,CoordinatorFullDate" +
                                                    ",SalesManagerDate,CoordinatorPartialDate,CEODate,BDMDate")] RequestApproval requestApproval)
        {
            if (ModelState.IsValid)
            {
                db.Entry(requestApproval).State = EntityState.Modified;
                db.SaveChanges();

                //remove rejection after aprove
                if (requestApproval.CoordinatorFull || requestApproval.CEO)
                {
                    requestApproval.IsRejected = false;
                }
                //CuttingSheet : ReOpen for Edit
                if (requestApproval.ApprovalTypeId == 1 || requestApproval.ApprovalTypeId == 3)
                {
                    if (requestApproval.SalesManager == true && requestApproval.CoordinatorFull == true)
                    {
                        CuttingSheet c = db.CuttingSheets.Find(requestApproval.CuttingSheetId);
                        // c.isLock = false;
                        db.SaveChanges();
                    }

                    if (requestApproval.CoordinatorFull == true)
                    {
                        CuttingSheet c = db.CuttingSheets.Find(requestApproval.CuttingSheetId);
                        //  c.isLock = false;
                        db.SaveChanges();
                    }

                    if (requestApproval.SalesManager == true && requestApproval.CoordinatorPartial == true && requestApproval.CEO == true)
                    {
                        CuttingSheet c = db.CuttingSheets.Find(requestApproval.CuttingSheetId);
                        //  c.isLock = false;
                        db.SaveChanges();
                    }
                }
                else
                {
                    if (requestApproval.SalesManager == true && requestApproval.CoordinatorFull == true)
                    {
                        Quotation c = db.Quotations.Find(requestApproval.QuotationId);
                        //   c.isLock = false;
                        db.SaveChanges();
                    }

                    if (requestApproval.CoordinatorFull == true)
                    {
                        Quotation c = db.Quotations.Find(requestApproval.QuotationId);
                        //  c.isLock = false;
                        db.SaveChanges();
                    }

                    if (requestApproval.SalesManager == true && requestApproval.CoordinatorPartial == true && requestApproval.CEO == true)
                    {
                        Quotation c = db.Quotations.Find(requestApproval.QuotationId);
                        //   c.isLock = false;
                        db.SaveChanges();
                    }
                }


                // send emails
                List <string> emails         = new List <string>();
                List <string> CC             = new List <string>();
                string        SubjectForCase = "";
                string        emailBodys     = "";
                if (requestApproval.QuotationId != null)
                {
                    SubjectForCase = "Request for Quotation Approval is Responded";
                    Quotation q = db.Quotations.Find(requestApproval.QuotationId);
                    emailBodys = "Dear Team, \r\n  Your request for approval  is responded with the remark " + requestApproval.CoordinatorFullRemarks + "  Quotation : " + q.Code + " is created \r\n ";
                    //emailBodys = emailBodys + " company name: " + requestApproval.Quotation.CustomerName + ". for your request details " + requestApproval.details;
                }
                else if (requestApproval.CuttingSheetId != null)
                {
                    SubjectForCase = "Request for CuttingSheet Approval is Responded";

                    CuttingSheet c = db.CuttingSheets.Find(requestApproval.CuttingSheetId);
                    emailBodys = "Dear Team, \r\n Your request for approval  is responded with the remark " + requestApproval.CoordinatorFullRemarks + "  CuttingSheet : " + c.code + " \r\n ";
                    // emailBodys = emailBodys + " company name:" + requestApproval.CuttingSheet.Customer.CompanyName + ". for your request details " + requestApproval.details;

                    if (requestApproval.ApprovalTypeId == 3)
                    {
                        CC.Add("*****@*****.**");
                    }
                }

                string username    = requestApproval.UserName;
                string emailCreate = db.Users.Where(r => r.UserName == username).FirstOrDefault().Email;
                //send to sender
                if (requestApproval.CoordinatorFull == true)
                {
                    emails.Add(emailCreate);
                }
                //send to sender
                if (requestApproval.CEO == true)
                {
                    emails.Add(emailCreate);
                }
                if ((requestApproval.CoordinatorFull == false && requestApproval.CoordinatorPartial == false) ||
                    requestApproval.SalesManager == true || requestApproval.BDM == true)
                {
                    emails.Add("*****@*****.**");
                }
                if (requestApproval.CoordinatorPartial == true && requestApproval.CEO == false)
                {
                    // emails.Add("*****@*****.**");
                }


                int i = sendEmail(SubjectForCase, emailBodys, emails, CC);

                return(RedirectToAction("Index"));
            }
            ViewBag.CuttingSheetId = new SelectList(db.CuttingSheets, "CuttingSheetId", "Code", requestApproval.CuttingSheetId);
            ViewBag.QuotationId    = new SelectList(db.Quotations, "QuotationId", "CustomerName", requestApproval.QuotationId);
            ViewBag.ApprovalTypeId = new SelectList(db.ApprovalTypes, "ApprovalTypeId", "Name", requestApproval.ApprovalTypeId);
            return(View(requestApproval));
        }
Beispiel #18
0
        public JsonResult CreateJson([Bind(Include = "RequestApprovalId,Name,RequestDate,ApprovalTypeId,QuotationId,CuttingSheetId,details,UserName,SalesManager,CoordinatorFull,CoordinatorPartial,CEO")] RequestApproval requestApproval)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    requestApproval.RequestDate = DateTime.Now;
                    requestApproval.UserName    = User.Identity.GetUserName();

                    try
                    {
                        int    PermissionId    = db.PermissionUsers.Where(pu => pu.Username == requestApproval.UserName).FirstOrDefault().PermissionId;
                        string PermisssionName = db.Permissions.Find(PermissionId).Name;


                        if (PermisssionName == PermissionNames.Permission_ProductionManager)
                        {
                            requestApproval.ProductionManager = true;
                        }
                    }
                    catch (Exception e) { }



                    db.RequestApprovals.Add(requestApproval);
                    db.SaveChanges();

                    List <string> emails         = new List <string>();
                    List <string> CC             = new List <string>();
                    string        SubjectForCase = "";

                    string emailBodys = "";

                    if (requestApproval.CuttingSheetId != null)
                    {
                        //get production manager email

                        string Username = db.PermissionUsers.Where(pu => pu.Permissions.Name == PermissionNames.Permission_ProductionManager).FirstOrDefault().Username;
                        string email    = db.Users.Where(u => u.UserName == Username).FirstOrDefault().Email;
                        emails.Add(email);
                        emails.Add("*****@*****.**");
                        CuttingSheet c = db.CuttingSheets.Find(requestApproval.CuttingSheetId);

                        SubjectForCase = "Extra Issue Material Requested - APPROVAL REQUIRED TO PROCEED WITH THE CHANGES";
                        emailBodys     = "Dear Team, \r\n  Your approval is required for CuttingSheet : " + c.code + " \r\n ";
                        emailBodys     = emailBodys + " The change requested is " + requestApproval.details;

                        int i = sendEmail(SubjectForCase, emailBodys, emails, CC);
                        //sendEmail1(SubjectForCase, emailBodys,emails);
                    }


                    return(Json(requestApproval.CuttingSheetId));
                }
                catch (Exception ex)
                {
                    String errors11 = ex.Message;

                    if (ex.InnerException != null)
                    {
                        errors11 = errors11 + ex.InnerException.Message + " \r\n ";;
                    }
                    return(Json(errors11));
                }
            }
            return(Json("errors11"));
        }
Beispiel #19
0
        public ActionResult Create([Bind(Include = "RequestApprovalId,Name,RequestDate,ApprovalTypeId,QuotationId,CuttingSheetId,details,UserName,SalesManager,CoordinatorFull,CoordinatorPartial,CEO")] RequestApproval requestApproval)
        {
            if (ModelState.IsValid)
            {
                requestApproval.RequestDate = DateTime.Now;
                requestApproval.UserName    = User.Identity.GetUserName();

                try
                {
                    int    PermissionId    = db.PermissionUsers.Where(pu => pu.Username == requestApproval.UserName).FirstOrDefault().PermissionId;
                    string PermisssionName = db.Permissions.Find(PermissionId).Name;
                    if (PermisssionName == PermissionNames.Permission_BDM)
                    {
                        requestApproval.BDM = true;
                    }

                    if (PermisssionName == PermissionNames.Permission_SalesManager)
                    {
                        requestApproval.SalesManager = true;
                    }
                }
                catch (Exception e) { }



                db.RequestApprovals.Add(requestApproval);
                db.SaveChanges();

                List <string> emails         = new List <string>();
                List <string> CC             = new List <string>();
                string        SubjectForCase = "";

                string emailBodys = "";
                if (requestApproval.QuotationId != null)
                {
                    if (User.IsInRole(RoleNames.ROLE_Coordinator))
                    {
                        emails.Add("*****@*****.**");
                        int qid        = requestApproval.QuotationId ?? 0;
                        int SalesManId = db.Quotations.Find(qid).SalesManId;
                        try
                        {
                            int      SalesTeamId      = db.SalesMen.Find(SalesManId).SalesTeams.SalesTeamId;
                            int      ReportToId       = db.SalesTeam.Find(SalesTeamId).EmployeeId ?? 0;
                            Employee ReportTo         = db.Employees.Find(ReportToId);
                            string   ReportToUsername = db.EmployeeUsers.Where(e => e.EmployeeId == ReportToId).FirstOrDefault().User;
                            string   ReportToEmail    = db.Users.Where(u => u.UserName == ReportToUsername).FirstOrDefault().Email;
                            CC.Add(ReportToEmail);
                        }
                        catch (Exception e) { }
                    }

                    //if (User.IsInRole(RoleNames.ROLE_Sales))
                    //{
                    //    int SalesManId1 = requestApproval.CuttingSheet.SalesManId;

                    //    SalesTeam SalesTeam = db.SalesMan.Find(SalesManId1).SalesTeams;
                    //    if (SalesTeam.Name == "BDM 1" || SalesTeam.Name == "BDM 2")
                    //    {
                    //        emails.Add("*****@*****.**");
                    //    }
                    //    if (SalesTeam.Name == "Sales Team 1")
                    //    {

                    //        int ReportToId1 = db.SalesTeam.Find(SalesManId1).EmployeeId ?? 0;
                    //        Employee ReportTo1 = db.employees.Find(ReportToId1);
                    //        string ReportToUsername1 = db.EmployeeUsers.Where(e => e.EmployeeId == ReportToId1).FirstOrDefault().User;
                    //        string ReportToEmail1 = db.Users.Where(u => u.UserName == ReportToUsername1).FirstOrDefault().Email;
                    //        emails.Add(ReportToEmail1);
                    //    }
                    //}
                    SubjectForCase = "QUOTATION REVISED - APPROVAL REQUIRED TO PROCEED WITH THE CHANGES";

                    Quotation q = db.Quotations.Find(requestApproval.QuotationId);
                    // emailBodys = "Dear Team, \r\n  Your approval is required for " + q.CustomerName + "  Quotation : " + q.Code + " \r\n ";
                    emailBodys = emailBodys + " The change requested is " + requestApproval.details;

                    //CC.Add("*****@*****.**");
                    //get manager of sales

                    //CC.Add("*****@*****.**");
                }
                else
                {
                    if (requestApproval.CuttingSheetId != null)
                    {
                        CuttingSheet c = db.CuttingSheets.Find(requestApproval.CuttingSheetId);
                        emails.Add("*****@*****.**");
                        // CC.Add("*****@*****.**");
                        //get manager of sales



                        //int SalesManId = requestApproval.CuttingSheet.SalesManId;

                        //try
                        //{
                        //    int SalesTeamId = db.SalesMan.Find(SalesManId).SalesTeams.SalesTeamId;
                        //    int ReportToId = db.SalesTeam.Find(SalesTeamId).EmployeeId ?? 0;
                        //    Employee ReportTo = db.employees.Find(ReportToId);
                        //    string ReportToUsername = db.EmployeeUsers.Where(e => e.EmployeeId == ReportToId).FirstOrDefault().User;
                        //    string ReportToEmail = db.Users.Where(u => u.UserName == ReportToUsername).FirstOrDefault().Email;
                        //    CC.Add(ReportToEmail);
                        //}

                        //catch (Exception e) { }
                        // CC.Add("*****@*****.**");
                        SubjectForCase = "CuttingSheet REVISED - APPROVAL REQUIRED TO PROCEED WITH THE CHANGES";
                        //emailBodys = "Dear Team, \r\n  Your approval is required for " + c.Customer.CompanyName + "  CuttingSheet : " + c.Code + " \r\n ";
                        emailBodys = emailBodys + " The change requested is " + requestApproval.details;
                    }
                }

                //int i = sendEmail(SubjectForCase, emailBodys, emails, CC);
                //sendEmail1(SubjectForCase, emailBodys,emails);
                return(RedirectToAction("Index"));
            }


            ViewBag.CuttingSheetId = new SelectList(db.CuttingSheets, "CuttingSheetId", "Code", requestApproval.CuttingSheetId);
            ViewBag.QuotationId    = new SelectList(db.Quotations, "QuotationId", "CustomerName", requestApproval.QuotationId);
            ViewBag.ApprovalTypeId = new SelectList(db.ApprovalTypes, "ApprovalTypeId", "Name", requestApproval.ApprovalTypeId);
            return(View(requestApproval));
        }
Beispiel #20
0
        public JsonResult CreateJson([Bind(Include = "CuttingSheetId,ProjectId,UserCreate,CreateDate,code")] CuttingSheet cuttingSheet,
                                     String[] FileName)
        {
            int savefiles = 0;

            if (ModelState.IsValid)
            {
                if (FileName != null && FileName.Count() > 0)
                {
                    try
                    {
                        //change status of project
                        if (cuttingSheet.ProjectId != null)
                        {
                            var proj = db.Projects.Find(cuttingSheet.ProjectId);
                            proj.ProjectStatusId = 4;
                        }
                        cuttingSheet.StampDate  = DateTime.Now;
                        cuttingSheet.UserCreate = User.Identity.GetUserName();
                        db.CuttingSheets.Add(cuttingSheet);
                        db.SaveChanges();

                        this.notificationRepository.CreateNotificationAsync(cuttingSheet.CuttingSheetId, NotificationName.onCreateMRF);


                        //file link
                        //save uploaded files record
                        CuttingSheetFile CuttingSheetFile = new CuttingSheetFile();
                        if (FileName != null)
                        {
                            foreach (string fn in FileName)
                            {
                                string st = "_CuttingSheet " + fn;
                                CuttingSheetFile.CuttingSheetId = cuttingSheet.CuttingSheetId;
                                //String c = db.Customers.Find(contract.CustomerId).CompanyName;

                                CuttingSheetFile.Name = fn;
                                CuttingSheetFile.Path = Path.Combine(Server.MapPath(FolderPath.FolderPathCustomerDoc), st);



                                try
                                {
                                    db.CuttingSheetFiles.Add(CuttingSheetFile);
                                    db.SaveChanges();

                                    savefiles = 1;
                                }
                                catch (Exception e)
                                {
                                    ViewBag.Error += "Files not saved :" + e.Message;
                                    log.Error(" ERROR mylog - Error while save  file of project " + cuttingSheet.CuttingSheetId + ":" + e.Message + " , stacktrace:" + e.StackTrace);
                                }
                            }
                        }



                        return(Json(cuttingSheet.CuttingSheetId));
                    }
                    catch (Exception ex)
                    {
                        String errors11 = ex.Message;

                        if (ex.InnerException != null)
                        {
                            errors11 = errors11 + ex.InnerException.Message + " \r\n ";;
                        }
                        return(Json(errors11));
                    }
                }
                else
                {
                    string Error = "Please upload Production Sheet";
                    return(Json(Error));
                }
            }
            return(Json("errors11"));
        }
        public JsonResult CreateDetailsJson(List <StockIssueDetail> Details, int id)
        {
            string errors11 = "";
            int    aaa      = 0;
            int    test     = 0;
            int    eid      = 0;
            float  oldQty   = 0;

            StockIssue stockIssue = db.StockIssues.Find(id);


            StockIssueDetail EP = new StockIssueDetail();

            foreach (StockIssueDetail d in Details)
            {
                try
                {
                    EP = new StockIssueDetail();
                    EP.StockIssueId = int.Parse(d.StockIssueId.ToString());
                    eid             = int.Parse(d.StockIssueId.ToString());

                    EP.MaterialId = int.Parse(d.MaterialId.ToString());
                    Material mm = db.Materials.Find(EP.MaterialId);
                    EP.Price = float.Parse(d.Price.ToString());


                    //calculat Qty
                    var StockIssue = db.StockIssues.Find(eid);
                    if (StockIssue.StockIssueType.Type == MoveType.InStore)
                    {
                        EP.InQty  = float.Parse(d.InQty.ToString());
                        EP.OutQty = 0;
                        //update material qty
                        oldQty = mm.qty ?? 0;
                        mm.qty = oldQty + EP.InQty;
                    }
                    else
                    {
                        EP.InQty = 0;
                        float OldResevedqty = mm.Resevedqty ?? 0;
                        EP.OutQty = float.Parse(d.OutQty.ToString());

                        //EP.BalanceQty = float.Parse(d.BalanceQty.ToString());

                        //update material qty
                        oldQty        = mm.qty ?? 0;
                        mm.qty        = oldQty - EP.OutQty;
                        mm.Resevedqty = OldResevedqty - EP.OutQty;
                    }



                    //calculat Price

                    if (StockIssue.StockIssueType.Type == MoveType.InStore)
                    {
                        if (d.Price != null && d.Price != 0)
                        {
                            EP.Price = float.Parse(d.Price.ToString());

                            //update material avrgae price


                            mm.latestPrice = EP.Price;

                            float Avg = mm.AvgPrice ?? 0;
                            mm.AvgPrice = (Avg * oldQty + EP.Price * EP.InQty) / (mm.qty);
                        }
                    }

                    db.StockIssueDetails.Add(EP);



                    db.SaveChanges();
                }
                catch (Exception ex)
                {
                    DeleteConfirmed(eid);
                    test     = 1;
                    errors11 = errors11 + ex.Message;
                    if (ex.InnerException != null)
                    {
                        if (ex.InnerException.InnerException != null)
                        {
                            errors11 = errors11 + ex.InnerException.InnerException.Message;
                        }
                    }
                    return(Json(errors11));
                }
            }


            if (stockIssue.CuttingSheetId != null)
            {
                CuttingSheet cuttingSheet = db.CuttingSheets.Find(stockIssue.CuttingSheetId);


                List <CuttingSheetDetail> cuttingSheetDetails = cuttingSheet.CuttingSheetDetails.ToList();

                foreach (CuttingSheetDetail cuttingSheetDetail in cuttingSheetDetails)
                {
                    float qty = stockIssue.StockIssueDetails.Where(s => s.MaterialId == cuttingSheetDetail.MaterialId).FirstOrDefault().OutQty;

                    cuttingSheetDetail.IssueQty += qty;

                    db.SaveChanges();
                }
            }


            if (test == 1)
            {
                return(Json(errors11));
            }
            return(Json("Cutting Sheet Saved Successfully"));
        }