Example #1
0
        public HttpResponseMessage Get_BangGiaChung()
        {
            string fileurl = "";
            var    package = GetTemplateWorkbook("DS-BangGiaChung.xlsx", "BangGiaChung.xlsx", out fileurl);

            ExcelWorkbook workBook = package.Workbook;

            if (workBook != null)
            {
                var ws      = workBook.Worksheets.FirstOrDefault(); //Worksheets["DS"];
                var data    = BS_CUS_CRM_CONTRACT_NhomGiaPhuongTien.get_CUS_CRM_CONTRACT_NhomGiaPhuongTien(db, PartnerID, QueryStrings);
                var gialist = BS_CUS_CRM_CONTRACT_BangGia.get_CUS_CRM_CONTRACT_BangGia(db, PartnerID, QueryStrings);

                int rowid = 3;
                foreach (var item in data)
                {
                    ws.Cells["B" + rowid].Value = item.Sort; //STT
                    ws.Cells["C" + rowid].Value = item.Code;
                    ws.Cells["D" + rowid].Value = item.Name;

                    var gia = gialist.FirstOrDefault(d => d.IDNhomGiaPhuongTien == item.ID);
                    if (gia != null)
                    {
                        ws.Cells["E" + rowid].Value   = gia.SoGioQuyDinhCa;
                        ws.Cells["F" + rowid].Value   = gia.DonGiaCa;
                        ws.Cells["G" + rowid].Value   = gia.DonGiaTangCa;
                        ws.Cells["H" + rowid].Formula = string.Format("F{0}*G{0}", rowid);
                        ws.Cells["I" + rowid].Value   = gia.DonGiaNgayLe;
                        ws.Cells["J" + rowid].Formula = string.Format("F{0}*I{0}", rowid);
                    }

                    rowid++;
                }

                package.Save();
            }

            return(downloadFile(fileurl));
        }
Example #2
0
        public HttpResponseMessage Post_BangGiaChung()
        {
            string        fileurl  = "";
            var           package  = SaveImportedFile(out fileurl);
            ExcelWorkbook workBook = package.Workbook;

            if (workBook != null)
            {
                ExcelWorksheet ws        = workBook.Worksheets.FirstOrDefault();
                bool           haveError = false;


                int SheetColumnsCount, SheetRowCount = 0;

                SheetColumnsCount = ws.Dimension.End.Column;    // Find End Column
                SheetRowCount     = ws.Dimension.End.Row;       // Find End Row

                var gialist = BS_CUS_CRM_CONTRACT_BangGia.get_CUS_CRM_CONTRACT_BangGia(db, PartnerID, QueryStrings);

                for (int rowid = 3; rowid <= SheetRowCount; rowid++)
                {
                    #region item
                    List <string> row = new List <string>();

                    for (int i = 2; i <= SheetColumnsCount; i++)
                    {
                        row.Add(ws.Cells[rowid, i].Value == null ? "" : ws.Cells[rowid, i].Value.ToString());
                    }

                    if (row[1] == "") //check code null
                    {
                        continue;
                    }

                    string code   = row[1];
                    var    dbitem = BS_CUS_CRM_CONTRACT_NhomGiaPhuongTien.get_CUS_CRM_CONTRACT_NhomGiaPhuongTien(db, PartnerID, code);
                    if (dbitem == null)
                    {
                        dbitem = new DTO_CUS_CRM_CONTRACT_NhomGiaPhuongTien();
                    }

                    if (int.TryParse(row[0], out int sort))
                    {
                        dbitem.Sort = sort;
                    }

                    dbitem.Code = row[1];
                    dbitem.Name = row[2];

                    try
                    {
                        if (dbitem.ID != 0)
                        {
                            BS_CUS_CRM_CONTRACT_NhomGiaPhuongTien.put_CUS_CRM_CONTRACT_NhomGiaPhuongTien(db, PartnerID, dbitem.ID, dbitem, Username);
                        }
                        else
                        {
                            BS_CUS_CRM_CONTRACT_NhomGiaPhuongTien.post_CUS_CRM_CONTRACT_NhomGiaPhuongTien(db, PartnerID, dbitem, Username);
                        }

                        //Save gia

                        var gia = gialist.FirstOrDefault(d => d.IDNhomGiaPhuongTien == dbitem.ID);
                        if (gia == null)
                        {
                            gia = new DTO_CUS_CRM_CONTRACT_BangGia();
                            gia.IDNhomGiaPhuongTien = dbitem.ID;
                        }

                        if (decimal.TryParse(row[3], out decimal sogioca))
                        {
                            gia.SoGioQuyDinhCa = sogioca;
                        }

                        if (decimal.TryParse(row[4], out decimal dongia))
                        {
                            gia.DonGiaCa = dongia;
                        }

                        if (decimal.TryParse(row[5], out decimal tangca))
                        {
                            gia.DonGiaTangCa = tangca;
                        }

                        if (decimal.TryParse(row[7], out decimal ngayle))
                        {
                            gia.DonGiaNgayLe = ngayle;
                        }



                        if (gia.ID != 0)
                        {
                            BS_CUS_CRM_CONTRACT_BangGia.put_CUS_CRM_CONTRACT_BangGia(db, PartnerID, gia.ID, gia, Username);
                        }
                        else
                        {
                            BS_CUS_CRM_CONTRACT_BangGia.post_CUS_CRM_CONTRACT_BangGia(db, PartnerID, gia, Username);
                        }
                    }
                    catch (Exception ex)
                    {
                        continue;
                    }



                    #endregion
                }


                if (haveError)
                {
                    package.Save();
                    return(downloadFile(fileurl, HttpStatusCode.Conflict));
                }
            }
            else
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest));
            }
            return(Request.CreateResponse(HttpStatusCode.Created));
        }