public async Task CreateDuAn(DuAn duAn) { await _duAnRepository.AddAsync(duAn); }
public void ExcelAction(IEnumerable <HangMuc> hangmuc, IEnumerable <ThamGia> thamgia, ExcelWorksheet exs, DuAn duan, int loaiDA) { this.SetHeader(exs, loaiDA); this.GenerateInfoProject(duan, exs, loaiDA); this.GenerateContent(hangmuc, thamgia, exs, loaiDA); }
public void AutoAdd() { //Ngày đầu tiên của tháng mới bắt đầu tính lương if (DateTime.Now.IsFirstDayOfMonth() != false) { return; } foreach (NhanVienCongViec nhanVienCongViec in myData.NhanVienCongViecs.ToList()) { bool add = true; //Không tính lương cho nhân viến quá 2 lần foreach (LuongThang lt in myData.LuongThangs.ToList()) { if (lt.NhanVienId == nhanVienCongViec.NhanVienId && ((DateTime)lt.NgayTinhLuong).EqualTo(DateTime.Now.FirstDayOfMonth()) == true) { add = false; break; } } if (add == false) { break; } //Chỉ tính lương cho nhân viên có //ngày bắt đầu trước hôm nay và //ngày kết thúc băng null hoặc sau ngày đầu tiên của tháng trước if (((DateTime)nhanVienCongViec.NgayBatDau).Before(DateTime.Now) && (nhanVienCongViec.NgayKetThuc == null || ((DateTime)nhanVienCongViec.NgayKetThuc).After(DateTime.Now.FirstDayOfPreviousMonth()))) { LuongThang luongThang = new LuongThang(); //Tao id int max = 0; List <LuongThang> luongThangs = myData.LuongThangs.ToList(); foreach (LuongThang lt in luongThangs) { if (int.Parse(lt.LuongThangId) > max) { max = int.Parse(lt.LuongThangId); } } luongThang.LuongThangId = "" + (max + 1); luongThang.NhanVienId = nhanVienCongViec.NhanVienId; luongThang.LuongCoBan = myData.HopDongs.ToList().Find(x => x.NhanVienId == luongThang.NhanVienId && x.TrangThai == 1) != null? myData.HopDongs.ToList().Find(x => x.NhanVienId == luongThang.NhanVienId && x.TrangThai == 1).LuongCanBan : "0"; string chucVuId = myData.NhanViens.ToList().Find(x => x.NhanVienId == luongThang.NhanVienId).ChucVuId; luongThang.HSChucVu = myData.ChucVus.ToList().Find(x => x.ChucVuId == chucVuId).HSChucVu; luongThang.HSCongViec = nhanVienCongViec.HSCongViec; DateTime ngayBatDauLamCuaThangTruoc = ((DateTime)nhanVienCongViec.NgayBatDau).After(DateTime.Now.FirstDayOfPreviousMonth()) ? (DateTime)nhanVienCongViec.NgayBatDau : DateTime.Now.FirstDayOfPreviousMonth(); DateTime ngayKetThucLamCuaThangTruoc = nhanVienCongViec.NgayKetThuc == null?DateTime.Now.FirstDayOfPreviousMonth().LastDayOfMonth() : (DateTime)nhanVienCongViec.NgayKetThuc; luongThang.SoNgayLam = 0; luongThang.SoNgayNghiCoPhep = 0; luongThang.SoNgayNghiKhongPhep = 0; luongThang.SoNgayNghiOm = 0; luongThang.ThuongLe = "0"; foreach (BangChamCong bangChamCong in myData.BangChamCongs.ToList()) { //Đếm số ngày làm việc của //nhân viên đang xét và //ngày làm việc phải nằm trong đoạn [ngayBatDauLamCuaThangTruoc, ngayKetThucLamCuaThangTruoc] //nếu có trạng thái là tt1 => soNgayLam //nếu có trạng thái là tt2 => SoNgayNghiCoPhep //nếu có trạng thái là tt3 => SoNgayNghiKhongPhep //nếu có trạng thái là tt4 => SoNgayNghiOm //nếu có ngày làm trùng vs ngày lễ => có tiền thưởng if (luongThang.NhanVienId == bangChamCong.NhanVienId && ( bangChamCong.NgayLamViec.EqualTo(ngayBatDauLamCuaThangTruoc) || (bangChamCong.NgayLamViec.After(ngayBatDauLamCuaThangTruoc) && bangChamCong.NgayLamViec.Before(ngayKetThucLamCuaThangTruoc)) || bangChamCong.NgayLamViec.EqualTo(ngayKetThucLamCuaThangTruoc))) { //Tính số ngày làm, nghỉ if (bangChamCong.TrangThaiChamCongId == "tt1") { luongThang.SoNgayLam++; } else { if (bangChamCong.TrangThaiChamCongId == "tt2") { luongThang.SoNgayNghiCoPhep++; } else { if (bangChamCong.TrangThaiChamCongId == "tt3") { luongThang.SoNgayNghiKhongPhep++; } else { if (bangChamCong.TrangThaiChamCongId == "tt4") { luongThang.SoNgayNghiOm++; } } } } //Tính tiền thưởng foreach (ThuongLe thuongLe in myData.ThuongLes.ToList()) { if (((DateTime)thuongLe.NgayLe).EqualTo(bangChamCong.NgayLamViec)) { luongThang.ThuongLe = "" + (long.Parse(luongThang.ThuongLe) + long.Parse(thuongLe.TienThuongLe)); } } } } luongThang.PhuCapNhanVien = "" + 0; foreach (NhanVienPhuCap nhanVienPhuCap in myData.NhanVienPhuCaps.ToList()) { if (nhanVienPhuCap.NhanVienId == luongThang.NhanVienId) { PhuCap phuCap = myData.PhuCaps.ToList().Find(x => x.PhuCapId == nhanVienPhuCap.PhuCapId); luongThang.PhuCapNhanVien = "" + (long.Parse(luongThang.PhuCapNhanVien) + long.Parse(phuCap.TienPhuCap)); } } luongThang.PhuCapChucVu = myData.ChucVus.ToList().Find(x => x.ChucVuId == myData.NhanViens.ToList() .Find(y => y.NhanVienId == luongThang.NhanVienId).ChucVuId).TienPhuCapChucVu; //Tính hệ số thâm niên DateTime ngayDauTienDiLam = DateTime.Now; foreach (NhanVienCongViec nvcv in myData.NhanVienCongViecs.ToList()) { if (luongThang.NhanVienId == nvcv.NhanVienId) { if (ngayDauTienDiLam.After((DateTime)nvcv.NgayBatDau)) { ngayDauTienDiLam = (DateTime)nvcv.NgayBatDau; } } } luongThang.PhuCapThamNien = ((int)(DateTime.Now - ngayDauTienDiLam).Days / 365) * 0.1; luongThang.TienDuAn = "" + 0; foreach (NhanVienDuAn nhanVienDuAn in myData.NhanVienDuAns.ToList()) { if (nhanVienDuAn.NhanVienId == luongThang.NhanVienId) { DuAn duAn = myData.DuAns.ToList().Find(x => x.DuAnId == nhanVienDuAn.DuAnId); if (((DateTime)duAn.NgayKetThuc).After(DateTime.Now.FirstDayOfPreviousMonth()) && ((DateTime)duAn.NgayKetThuc).Before(DateTime.Now.FirstDayOfPreviousMonth().LastDayOfMonth())) { luongThang.TienDuAn = "" + (long.Parse(luongThang.TienDuAn) + (nhanVienDuAn.PhanTramCV * long.Parse(duAn.ThuongDuAn) / 100)); } } } luongThang.NgayTinhLuong = DateTime.Now.FirstDayOfMonth(); long luongMotNgay = long.Parse(luongThang.LuongCoBan) * (long)(1.0 + (double)luongThang.HSChucVu + (double)luongThang.HSCongViec + (double)luongThang.PhuCapThamNien) / 26; luongThang.LuongThucLanh = "" + ((long)(luongMotNgay * (int)luongThang.SoNgayLam) + long.Parse(luongThang.ThuongLe) + long.Parse(luongThang.TienDuAn) + long.Parse(luongThang.PhuCapNhanVien)); //Lưu vào database myData.LuongThangs.Add(luongThang); myData.SaveChanges(); } } }
public DuAnDTO FindById(string id) { DuAn duAn = duAnAc.FindById(id); return(duAn.ToDTO(nhanVienDuAnAc.ToList().FindAll(x => x.DuAnId == duAn.DuAnId).Count)); }
public void GenerateInfoProject(DuAn duan, ExcelWorksheet exs, int loaiDA) { exs.Cells["C3:M3"].Value = duan.TenDuAn; exs.Cells["C4:M4"].Value = duan.KhachHang.TenKhach; exs.Cells["C5:G5"].Value = string.Format("{0:n0}", Math.Round((double)duan.GiaTriHopDong)); exs.Cells["C6:G6"].Value = duan.NgayKetThuc - duan.NgayBatDau; exs.Cells["C7:G7"].Value = duan.NgayHoanThanh - duan.NgayBatDau; exs.Cells["C8:G8"].Value = duan.SoHopDong; exs.Cells["C9:G9"].Value = duan.NgayKy; exs.Cells["I5"].Value = duan.LoaiCongTrinh; exs.Cells["I6"].Value = duan.TyLeTheoDT.ToString("0") + "%"; exs.Cells["I8"].Value = string.Format("{0:N0}", duan.TongChiQL) + "%"; exs.Cells["C3:M3"].Merge = true; exs.Cells["C4:M4"].Merge = true; exs.Cells["C5:G5"].Merge = true; exs.Cells["C6:G6"].Merge = true; exs.Cells["C8:G8"].Merge = true; exs.Cells["C9:G9"].Merge = true; exs.Cells["C9:G9"].Style.Numberformat.Format = "dd/MM/yyyy"; exs.Cells["A3:S11"].Style.Border.Left.Style = ExcelBorderStyle.Thin; exs.Cells["A3:S11"].Style.Border.Right.Style = ExcelBorderStyle.Thin; exs.Cells["A3:S11"].Style.Border.Top.Style = ExcelBorderStyle.Thin; exs.Cells["A3:S11"].Style.Border.Bottom.Style = ExcelBorderStyle.Thin; exs.Cells["C5:G9"].Style.HorizontalAlignment = OfficeOpenXml.Style.ExcelHorizontalAlignment.Center; var k6 = (duan.GiaTriHopDong * duan.TyLeTheoDT) / 100; var k8 = k6 - duan.LuongThueNgoai; if (loaiDA.Equals(1)) { exs.Cells["I9"].Value = Convert.ToInt32(duan.LuongGTQgt) + " %"; exs.Cells["I10"].Value = Convert.ToInt32(duan.LuongGTV21) + " %"; exs.Cells["I11"].Value = Convert.ToInt32(duan.LuongGTV22) + " %"; var k9 = (k8 * duan.LuongGTQgt) / 100; var k10 = (k9 * duan.LuongGTV21) / 100; var k11 = (k9 * duan.LuongGTV22) / 100; exs.Cells["K6"].Value = string.Format("{0:n0}", Math.Round((double)k6)); exs.Cells["K7"].Value = string.Format("{0:n0}", Math.Round((double)duan.LuongThueNgoai)); exs.Cells["K8"].Value = string.Format("{0:n0}", Math.Round((double)k8)); exs.Cells["K9"].Value = string.Format("{0:n0}", Math.Round((double)k9)); exs.Cells["K10"].Value = string.Format("{0:n0}", Math.Round((double)k10)); exs.Cells["K11"].Value = string.Format("{0:n0}", Math.Round((double)k11)); exs.Cells["P8"].Value = string.Format("{0:n0}", Math.Round((double)(duan.TongDiemGT != null ? duan.TongDiemGT : 0))) + " đ"; exs.Cells["P9"].Value = string.Format("{0:n0}", Math.Round((double)(duan.DonGiaDiemGT != null ? duan.TongDiemGT : 0))) + " đ"; } else { exs.Cells["I9"].Value = Convert.ToInt32(duan.LuongTTQtt) + " %"; exs.Cells["I10"].Value = Convert.ToInt32(duan.LuongDPQdp) + " %"; exs.Cells["K6"].Value = string.Format("{0:n0}", Math.Round((double)k6)); exs.Cells["K7"].Value = string.Format("{0:n0}", Math.Round((double)duan.LuongThueNgoai)); var QL2 = (k8 * duan.LuongTTQtt) / 100; var QL3 = (k8 * duan.LuongDPQdp) / 100; exs.Cells["K8"].Value = string.Format("{0:n0}", Math.Round((double)k8)); exs.Cells["K9"].Value = string.Format("{0:n0}", Math.Round((double)QL2)); exs.Cells["K10"].Value = string.Format("{0:n0}", Math.Round((double)QL3)); exs.Cells["P8"].Value = string.Format("{0:n0}", Math.Round((double)duan.TongDiemTT)) + " đ"; exs.Cells["P9"].Value = string.Format("{0:n0}", Math.Round((double)duan.DonGiaDiemTT)) + " đ"; } }
public ActionResult Save(DuAn duAn) { if (!ModelState.IsValid) { //var errors = ModelState.Values.SelectMany(v => v.Errors); var viewModel = new DuAnViewModel { LoaiDuAns = _context.LoaiDuAns.ToList(), TinhThanhPhos = _context.TinhThanhPhos.ToList(), QuanHuyens = _context.QuanHuyens.ToList(), TrangThaiDuAn = SelectOptions.getTrangThaiDuAn, DoanhNghiepBDSs = _context.DoanhNghiepBDSs.ToList() }; return(View("DuAnForm", viewModel)); } if (duAn.ImageFile != null) { string uploadPath = ConfigurationManager.AppSettings["AnhDaiDienDuAn"].ToString(); duAn.AnhDaiDien = saveFile(duAn.ImageFile, uploadPath); } else { string uploadPath = ConfigurationManager.AppSettings["NoPhoto"].ToString(); duAn.AnhDaiDien = uploadPath + "no-photo-available-300x225.png"; } duAn.GioiThieuDuAn = HttpUtility.HtmlDecode(duAn.GioiThieuDuAn); duAn.ViTri = HttpUtility.HtmlDecode(duAn.ViTri); duAn.HaTang = HttpUtility.HtmlDecode(duAn.HaTang); duAn.ThietKe = HttpUtility.HtmlDecode(duAn.ThietKe); duAn.MatBang = HttpUtility.HtmlDecode(duAn.MatBang); duAn.Media = HttpUtility.HtmlDecode(duAn.Media); duAn.HoTroTaiChinh = HttpUtility.HtmlDecode(duAn.HoTroTaiChinh); if (duAn.Id == 0) { var userId = User.Identity.GetUserId(); var nguoiDang = _context.NhanViens.SingleOrDefault(x => x.AccountId == userId); duAn.NguoiDangId = nguoiDang.Id; duAn.NgayDang = DateTime.Now; TempData["success"] = "Thêm mới thành công"; _context.DuAns.Add(duAn); } else { var duAnInDb = _context.DuAns.Single(x => x.Id == duAn.Id); duAnInDb.TenDuAn = duAn.TenDuAn; duAnInDb.DiaChi = duAn.DiaChi; duAnInDb.GiaTu = duAn.GiaTu; duAnInDb.ChuDauTu = duAn.ChuDauTu; duAnInDb.DoanhNghiepBDSId = duAn.DoanhNghiepBDSId; duAnInDb.TongDienTich = duAn.TongDienTich; duAnInDb.TienDoDuAn = duAn.TienDoDuAn; duAnInDb.QuyMoDuAn = duAn.QuyMoDuAn; duAnInDb.GioiThieuDuAn = duAn.GioiThieuDuAn; duAnInDb.ViTri = duAn.ViTri; duAnInDb.HaTang = duAn.HaTang; duAnInDb.ThietKe = duAn.ThietKe; duAnInDb.MatBang = duAn.MatBang; duAnInDb.Media = duAn.Media; duAnInDb.HoTroTaiChinh = duAn.HoTroTaiChinh; duAnInDb.SoSanPham = duAn.SoSanPham; duAnInDb.LoaiDuAnId = duAn.LoaiDuAnId; duAnInDb.TinhThanhPhoId = duAn.TinhThanhPhoId; duAnInDb.QuanHuyenId = duAn.QuanHuyenId; duAnInDb.TrangThai = duAn.TrangThai; if (!string.IsNullOrEmpty(duAn.AnhDaiDien)) { // Xóa ảnh cũ deleteFile(duAnInDb.AnhDaiDien); // Thay bằng ảnh mới duAnInDb.AnhDaiDien = duAn.AnhDaiDien; } TempData["success"] = "Cập nhật thành công"; } _context.SaveChanges(); return(RedirectToAction("Index", "QuanLyDuAn")); }
public void Update(DuAn duAn) { _duAnRepository.Update(duAn); }
public DuAn Add(DuAn duAn) { return(_duAnRepository.Add(duAn)); }
public ActionResult Edit(DuAn obj, InfoDuAn[] InfoDuAn, int IDAddress1, int IDAddress2, int IDAddress3, HttpPostedFileBase[] Image) { if (obj.IDDuAn == 0) { db.DuAns.Add(obj); db.SaveChanges(); InfoDuAn.ToList().ForEach(q => { q.IDDuAn = obj.IDDuAn; db.InfoDuAns.Add(q); }); db.AddressDuAns.Add(new AddressDuAn { IDDuAn = obj.IDDuAn, IDAddress = IDAddress1, }); db.AddressDuAns.Add(new AddressDuAn { IDDuAn = obj.IDDuAn, IDAddress = IDAddress2, }); db.AddressDuAns.Add(new AddressDuAn { IDDuAn = obj.IDDuAn, IDAddress = IDAddress3, }); } else { db.Entry(obj).State = System.Data.Entity.EntityState.Modified; InfoDuAn.ToList().ForEach(q => { if (q.IDInfoDuAn > 0) { if (db.InfoDuAns.FirstOrDefault(a => a.IDInfoDuAn == q.IDInfoDuAn) is InfoDuAn ob) { if (q.Value == null) { db.InfoDuAns.Remove(ob); } else { ob.Value = q.Value; } } } else if (q.Value != null && q.IDInfoDuAn == 0) { db.InfoDuAns.Add(q); } }); } foreach (var item in this.RequestAndSaveImage(true)) { db.ImageDuAns.Add(new ImageDuAn { IDDuAn = obj.IDDuAn, Link = item, IDImageDuAn = 0, Rank = 0 }); } db.SaveChanges(); return(RedirectToAction("Index")); }
private void btnSuaDuAn_Click(object sender, EventArgs e) { if (this.txtTenDuAn.Text.Trim().Length <= 0 || this.txtMaDuAn.Text.Trim().Length <= 0 || this.dateNgayDuKienHoanThanh.Value > DateTime.Now || this.dateTimeBatDauDuAn.Value > DateTime.Now || this.dateNgayDuKienHoanThanh.Value > DateTime.Now) { if (this.txtMaDuAn.Text.Trim().Length <= 0) { this.errorProvider1.SetError(this.txtMaDuAn, "Ma du an khong duoc trong"); return; } this.errorProvider1.Clear(); if (this.txtTenDuAn.Text.Trim().Length <= 0) { this.errorProvider1.SetError(this.txtTenDuAn, "nhap ten du an"); return; } else { this.errorProvider1.Clear(); } if (this.dateTimeBatDauDuAn.Value <= DateTime.Now) { this.errorProvider1.SetError(this.dateTimeBatDauDuAn, "nhap ngay bat dau"); return; } else { this.errorProvider1.Clear(); } if (this.dateNgayDuKienHoanThanh.Value <= DateTime.Now) { this.errorProvider1.SetError(this.dateNgayDuKienHoanThanh, "nhap ngay du kien hoan thanh"); return; } else { this.errorProvider1.Clear(); } } DuAn da = new DuAn(); da.MaDuAn = txtMaDuAn.Text.Trim(); da.TenDuAn = txtTenDuAn.Text.Trim(); da.NgayBatDau = DateTime.Parse(dateTimeBatDauDuAn.Value.ToString()); da.DuKienHoanThanh = DateTime.Parse(dateNgayDuKienHoanThanh.Value.ToString()); da.MucTieuDuAn = rtxtMucTieu.Text.Trim(); var lsda = DuAnControllers.getListDuAnfromDB(); da.TienDo = lsda[dataGridViewDuAn.CurrentRow.Index].TienDo; da.ChiPhiDuAn = Int32.Parse(txtChiPhiDuAn.Text.Trim()); da.NhomPhuTrach = lsda[dataGridViewDuAn.CurrentRow.Index].NhomPhuTrach; da.CongViec = lsda[dataGridViewDuAn.CurrentRow.Index].CongViec; da.NgayHoanThanh = lsda[dataGridViewDuAn.CurrentRow.Index].NgayHoanThanh; da.CongViecDuAn = lsda[dataGridViewDuAn.CurrentRow.Index].CongViecDuAn; da.Nhom = lsda[dataGridViewDuAn.CurrentRow.Index].Nhom; DuAnControllers.updateDA(da); BindingSource source = new BindingSource(); source.DataSource = DuAnControllers.getListDuAnfromDB(); this.dataGridViewDuAn.DataSource = source; }